#pragma once
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;


struct ListNode {
    int val;
    struct ListNode* next;
    ListNode(int x) :
        val(x), next(NULL) {
    }
};


